package com.yungu.swift.order.model.vo;

import com.yungu.swift.assets.driver.model.vo.DriverVo;
import com.yungu.swift.assets.passenger.model.vo.PassengerVo;
import com.yungu.swift.base.model.annotation.AbsoluteImgPath;
import com.yungu.swift.order.model.dto.OrderEvaluateDto;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 跨城订单信息
 */
@Data
public class ApiCrosstownOrderInfoVo implements Serializable {

    /**
     * 主订单ID
     */
    private String mainOrderUuid;
    /**
     * 起点详细地址
     **/
    private String originDetailAddress;
    /**
     * 起点标题
     **/
    private String originAddress;
    /**
     * 起点经度
     **/
    private String originLng;
    /**
     * 起点纬度
     **/
    private String originLat;
    /**
     * 起点城市
     **/
    private String originCity;
    /**
     * 目的地详细地址
     **/
    private String destDetailAddress;
    /**
     * 目的地标题
     **/
    private String destAddress;

    /**
     * 目的经度
     **/
    private String destLng;
    /**
     * 目的纬度
     **/
    private String destLat;

    /**
     * 订单类型（时效性）：1 实时订单， 2 预约订单
     **/
    private Integer typeTime;
    /**
     * 订单类型（行程）：1：用车，2：日租，3：半日租，4：送机，5：接机
     **/
    private Integer typeTrip;
    /**
     * 订单总费用（=司机收入=各费用之和*高峰溢价率+附加服务费等+（后台）调整价格）
     **/
    private Double totalFare;
    /**
     * 出发时间
     **/
    private Date deparTime;
    /**
     * 实际乘车人姓名
     **/
    private String actualPasNam;
    /**
     * 实际乘车人号码
     **/
    private String actualPasMob;
    /**
     * 实际乘车人数
     **/
    private Integer actualPasNum;

    /**
     * 司机名称
     */
    private String driverName;

    /**
     * 司机电话
     */
    private String driverMobile;

    /**
     * 司机ID
     */
    private String driverUuid;

    /**
     * 司机分数
     */
    private Double driverScore;

    /**
     * 司机订单数
     */
    private Integer driverOrderCount;

    /**
     * 车牌号
     */
    private String carNo;

    /**
     * 车辆品牌型号
     */
    private String carBrandName;

    /**
     * 乘客留言
     **/
    private String remark;
    /**
     * 实际支付金额
     **/
    private Double actualFare;
    /**
     * 优惠券支付
     **/
    private Double couponFare;
    /**
     * 支付方式（1.支付宝 2.微信 3.余额 4.企业支付）
     **/
    private Integer payType;
    /**
     * 支付状态（0未支付 1已支付 2退款中 3已退款）
     **/
    private Integer payStatus;
    /**
     * 是否超过24小时
     **/
    private int overTime;
    /**
     * 播报
     **/
    private String report;

    /**
     * 优惠金额
     */
    private Double couponPrice;

    /**
     * 预估行程
     **/
    private Double planTrip;

    /**
     * 订单模块类型（1：快车，2：专车，3：出租车）
     **/
    private Integer typeModule;

    /**
     * 订单车型名称
     **/
    private String carModelName;

    /**
     * 拼车业务状态：100提交（待支付）、200预约中（已支付）、300预约成功（待安排）、400已安排（待出发）、500行程开始、600行程结束（已完成）
     **/
    private Integer joinStatus;

    /**
     * 优惠券的uuid
     **/
    private String couponUuid;

    /**
     * 乘客ID
     **/
    private String passengerUuid;

    /**
     * 拼车类型（1拼车 2包车）
     **/
    private Integer typeJoin;

    /**
     * 订单关闭状态（0正常 1关闭）
     **/
    private Integer closeStatus;

    /**
     * 乘客数量
     **/
    private Integer passengerNum;

    /**
     * gzip压缩之后的订单位置点字符串
     **/
    private String tracePoints;

    /**
     * 收件人
     */
    private String receiverName;

    /**
     * 收件人电话
     */
    private String receiverMobile;

    /**
     * 收件码
     */
    private String receiptCode;

    /**
     * 订单ID
     */
    private String orderUuid;

    /**
     * 寄件人
     */
    private String senderName;

    /**
     * 寄件人电话
     */
    private String senderMobile;

    /**
     * 货件信息名称
     */
    private String parcelInfoName;

    /**
     * 货件类型名称
     */
    private String parcelTypeName;

    /**
     * 货件重量名称
     */
    private String parcelWeightName;

    /**
     * 货件体积名称
     */
    private String parcelVolumeName;

    /**
     * 货件照片
     */
    @AbsoluteImgPath
    private String parcelPhoto;

    /**
     * 货件加价
     */
    private Double parcelRaisePrice;

    /**
     * 小件订单数
     */
    private Integer parcelOrderNum;

    /**
     * 拼友订单信息
     */
    private List<AllPassengerOrderVo> allPassengerOrderInfo;

    /**
     * 当前激活的订单ID
     */
    private String activateOrderUuid;

    /**
     * 当前激活的用户昵称
     */
    private String activatePassengerName;

    /**
     * 当前激活的订单类型
     */
    private Integer activateOrderModule;

    /**
     * 司机等待时间
     */
    private Long driverWaitTime;

    /**
     * 主订单状态
     */
    private Integer mainJoinStatus;

    /**
     * 起点特殊区域加价
     */
    private Double originRaisePrice;

    /**
     * 终点特殊区域加价
     */
    private Double destRaisePrice;

    /**
     * 夜间加价
     */
    private Double nightRaisePrice;

    /**
     * 是否起点特殊区域
     */
    private Boolean originSpecialZone;

    /**
     * 是否终点特殊区域
     */
    private Boolean destSpecialZone;

    /**
     * 订单需求类型 1普通拼车 2机场专线
     */
    private Integer orderDemand;

    /**
     * appid
     */
    private String appid;

}
